package com.newjiabo.system.service;

import java.util.List;
import java.util.Map;

import com.newjiabo.system.domain.SysRegion;
import com.newjiabo.system.domain.vo.RegionVO;

/**
 * 行政地区Service接口
 *
 * @author ruoyi
 * @date 2023-09-18
 */
public interface ISysRegionService {
    /**
     * 查询行政地区
     *
     * @param id 行政地区主键
     * @return 行政地区
     */
    SysRegion selectSysRegionById(String id);

    /**
     * 查询行政地区列表
     *
     * @param sysRegion 行政地区
     * @return 行政地区集合
     */
    List<SysRegion> selectSysRegionList(SysRegion sysRegion);

    /**
     * 新增行政地区
     *
     * @param sysRegion 行政地区
     * @return 结果
     */
    int insertSysRegion(SysRegion sysRegion);

    /**
     * 修改行政地区
     *
     * @param sysRegion 行政地区
     * @return 结果
     */
    int updateSysRegion(SysRegion sysRegion);

    /**
     * 批量删除行政地区
     *
     * @param ids 需要删除的行政地区主键集合
     * @return 结果
     */
    int deleteSysRegionByIds(String[] ids);

    /**
     * 删除行政地区信息
     *
     * @param id 行政地区主键
     * @return 结果
     */
    int deleteSysRegionById(Long id);

    /**
     * 获取地区列表
     *
     * @param id
     * @return
     * @author CaoMengHui.
     * @date 2023/9/18 14:58
     */
    List<SysRegion> getItem(String id);

    /**
     * 获取地址
     *
     * @param cityCode 城市编码
     * @param townName 镇名称
     * @return
     */
    Map<String, Object> getRegion(String cityCode, String townName);

    String getItemByLastName(String lastName);

    /**
     *  获取所有的城市
     *
     * @author CaoMengHui.
     * @date 2023/9/18 15:31
     * @return
     */
    List<RegionVO> getAllCity();

    /**
     * 获取所有的省-市-区县
     *
     * @author CaoMengHui.
     * @date 2023/9/18 15:38
     * @return
     */
    List<RegionVO> getAllCounty();
}
